1. Field of the Invention
The present invention relates generally to a code transmission method and apparatus therefor, and is directed more particularly to a code transmission method and apparatus therefor in which, with an error being detected by means of a cyclic redundancy check code, even an error that causes all of the bits of the code to become "0" or "1" can be detected.
2. Description of the Prior Art
Various error detecting methods have been propsoed so that, upon a code transmission, an error in the transmitted code can be detected at the reception stage of the code and the error can be corrected. One of the known methods is the so-called CRC error detecting method which utilizes a cyclic redundancy check code. This method is carried out by, for example, adding a redundant bit to information of n bits length. If the information bits (a.sub.0, a.sub.1, . . . a.sub.n-1) of the n's bits are expressed by a polynomial expression F (x), then EQU F(x)=a.sub.n-1 x.sup.n-1 +a.sub.n-2 x.sup.n-2 +. . . +a.sub.1 x+a.sub.0
This polynomial expression F(x) is divided by a generation polynomial expression G(x) and the residue R(x) of such division is added as the redundant bit. This division is effected on a modulo 2 basis, that is, with 2 as its divisor.
The generation polynomial expression G(x) is expressed as follows: EQU G(x)=b.sub.m-1 x.sup.m-1 +b.sub.m-2 x.sup.m-2 +. . . +b.sub.1 x+b.sub.0
The generation polynomial expression G(x) is seen to be a polynomial expression of (m-1) dimension, while the residue R(x) is a polynomial expression of (m-2) dimension. Thus, the polynomial expression U(x) of a code to be transmitted may be expressed as follows: EQU U(x)=x.sup.m-1 .multidot.F(x)+R(x)
In this case, if the quotient in the above division for obtaining the redundant bit is taken as Q(x), then the residue R(x) may be expressed as follows: EQU R(x)=x.sup.m-1 .multidot.F(x)+Q(x) .multidot.G(x)
The error detection is carried out by dividing the code U(x), which is received at the reception stage, by the generation polynomial expression G(x).
If no error is introduced in the transmission path, the division can be expressed as follows: ##EQU1## In other words, the received code U(x) can be divided completely by G(x) with no residue, and hence it is discriminated or determined that no error has been caused. On the other hand, in the event that an error is introduced in the transmission path, the polynomial expression of the introduced error pattern may be represented by E(x). In such case, since the code which is received is expressed as U(x)+E(x), the division of this received code by G(x) may be expressed as follows: ##EQU2##
It will be apparent that, if the polynomial expression E(x) of the error pattern can not be divided by the generation polynomial expression G(x), and, therefore, a residue appears, the existence of an error can be detected from the presence of the residue.
In the above prior art error detecting method using the cyclic redundancy check (CRC) code, the probability that E(x) can be divided by G(x) is about 1/2.sup.m. Thus, if the power of the generation polynomial expression G(x) is increased, the error detection probability becomes very high.
However, the above prior art error detecting method using the cyclic redundancy check code has a disadvantage in that, even though U(x)=0, the error pattern in the transmission path becomes U(x)=E(x)=0 and, hence, although there is clearly an error, the error can not be detected. In the foregoing case, the following relation is established: ##EQU3## That is, U(x)+E(x) is divided by G(x). In fact, an error that results in U(x)+E(x)=0 frequently appears on the transmission path. For example, in the case where a code of the NRZ system is subjected to an FM modulation and thereafter transmitted, if an FM demodulator in the reception stage is the pulse count type, its demodulating level becomes low due to a dropout of the carrier and the received code then becomes "0". Further, in the case when frame synchronization is lost, a period in which no code is present can appear as a period in which a code is present, and similar trouble is encountered.
When an error introduced in the transmission path is only in one direction, for example, the transmitted code becomes all "0"s, if the received code is level-inversed and processed by a negative logic to make the above error "1", false operation of the error detecting operation can be prevented. However, it is uncertain that errors will become all "0" or "1", so that the prior art error detecting method can not be said to be effective.